翻訳と辞書
Words near each other
・ Characteristic time
・ Characteristic variety
・ Characteristic vector
・ Characteristic velocity
・ Characteristic X-ray
・ Characteristica universalis
・ Characteristically simple group
・ Characteristics of common wasps and bees
・ Characteristics of dyslexia
・ Characteristics of Harold Pinter's work
・ Characteristics of New York City mayoral elections
・ Characterization
・ Characterization (disambiguation)
・ Characterization (materials science)
・ Characterization (mathematics)
Characterization test
・ Characterizations of the category of topological spaces
・ Characterizations of the exponential function
・ Characterology
・ Characters (John Abercrombie album)
・ Characters (Stevie Wonder album)
・ Characters and Caricaturas
・ Characters and Observations
・ Characters and organizations in the Year Zero alternate reality game
・ Characters and races of the Dark Crystal
・ Characters and time combination password
・ Characters from Ile-Rien
・ Characters from the docks of The Wire
・ Characters in As You Like It
・ Characters in Dale Brown novels


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Characterization test : ウィキペディア英語版
Characterization test

In computer programming, a characterization test is a means to describe (characterize) the actual behavior of an existing piece of software, and therefore protect existing behavior of legacy code against unintended changes via automated testing. This term was coined by Michael Feathers. 〔 Feathers, Michael C. ''Working Effectively with Legacy Code'' (ISBN 0-13-117705-2). 〕
The goal of characterization tests is to help developers verify that the modifications made to a reference version of a software system did not modify its behavior in unwanted or undesirable ways. They enable, and provide a safety net for, extending and refactoring code that does not have adequate unit tests.
When creating a characterization test, one must observe what outputs occur for a given set of inputs. Given an observation that the legacy code gives a certain output based on given inputs, then a test can be written that asserts that the output of the legacy code matches the observed result for the given inputs. For example, if one observes that f(3.14) == 42, then this could be created as a characterization test. Then, after modifications to the system, the test can determine if the modifications caused changes in the results when given the same inputs.
Unfortunately, as with any testing, it is generally not possible to create a characterization test for every possible input and output. As such, many people opt for either statement or branch coverage. However, even this can be difficult. Test writers must use their judgment to decide how much testing is appropriate. It is often sufficient to write characterization tests that only cover the specific inputs and outputs that are known to occur, paying special attention to edge cases.
Unlike regression tests, to which they are very similar, characterization tests do not verify the ''correct'' behavior of the code, which can be impossible to determine. Instead they verify the behavior that was observed when they were written. Often no specification or test suite is available, leaving only characterization tests as an option, since the conservative path is to assume that the old behavior is the required behavior. Characterization tests are, essentially, change detectors. It is up to the person analyzing the results to determine if the detected change was expected and/or desirable, or unexpected and/or undesirable.
One of the interesting aspects of characterization tests is that, since they are based on existing code, it's possible to generate some characterization tests automatically. An automated characterization test tool will exercise existing code with a wide range of relevant and/or random input values, record the output values (or state changes) and generate a set of characterization tests. When the generated tests are executed against a new version of the code, they will produce one or more failures/warnings if that version of the code has been modified in a way that changes a previously established behavior.
==References==


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Characterization test」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.